package org.hxyjs.entity;

import java.util.ArrayList;
import java.util.List;

public class ChildrenExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public ChildrenExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCnoIsNull() {
            addCriterion("cno is null");
            return (Criteria) this;
        }

        public Criteria andCnoIsNotNull() {
            addCriterion("cno is not null");
            return (Criteria) this;
        }

        public Criteria andCnoEqualTo(String value) {
            addCriterion("cno =", value, "cno");
            return (Criteria) this;
        }

        public Criteria andCnoNotEqualTo(String value) {
            addCriterion("cno <>", value, "cno");
            return (Criteria) this;
        }

        public Criteria andCnoGreaterThan(String value) {
            addCriterion("cno >", value, "cno");
            return (Criteria) this;
        }

        public Criteria andCnoGreaterThanOrEqualTo(String value) {
            addCriterion("cno >=", value, "cno");
            return (Criteria) this;
        }

        public Criteria andCnoLessThan(String value) {
            addCriterion("cno <", value, "cno");
            return (Criteria) this;
        }

        public Criteria andCnoLessThanOrEqualTo(String value) {
            addCriterion("cno <=", value, "cno");
            return (Criteria) this;
        }

        public Criteria andCnoLike(String value) {
            addCriterion("cno like", value, "cno");
            return (Criteria) this;
        }

        public Criteria andCnoNotLike(String value) {
            addCriterion("cno not like", value, "cno");
            return (Criteria) this;
        }

        public Criteria andCnoIn(List<String> values) {
            addCriterion("cno in", values, "cno");
            return (Criteria) this;
        }

        public Criteria andCnoNotIn(List<String> values) {
            addCriterion("cno not in", values, "cno");
            return (Criteria) this;
        }

        public Criteria andCnoBetween(String value1, String value2) {
            addCriterion("cno between", value1, value2, "cno");
            return (Criteria) this;
        }

        public Criteria andCnoNotBetween(String value1, String value2) {
            addCriterion("cno not between", value1, value2, "cno");
            return (Criteria) this;
        }

        public Criteria andClnoIsNull() {
            addCriterion("clno is null");
            return (Criteria) this;
        }

        public Criteria andClnoIsNotNull() {
            addCriterion("clno is not null");
            return (Criteria) this;
        }

        public Criteria andClnoEqualTo(String value) {
            addCriterion("clno =", value, "clno");
            return (Criteria) this;
        }

        public Criteria andClnoNotEqualTo(String value) {
            addCriterion("clno <>", value, "clno");
            return (Criteria) this;
        }

        public Criteria andClnoGreaterThan(String value) {
            addCriterion("clno >", value, "clno");
            return (Criteria) this;
        }

        public Criteria andClnoGreaterThanOrEqualTo(String value) {
            addCriterion("clno >=", value, "clno");
            return (Criteria) this;
        }

        public Criteria andClnoLessThan(String value) {
            addCriterion("clno <", value, "clno");
            return (Criteria) this;
        }

        public Criteria andClnoLessThanOrEqualTo(String value) {
            addCriterion("clno <=", value, "clno");
            return (Criteria) this;
        }

        public Criteria andClnoLike(String value) {
            addCriterion("clno like", value, "clno");
            return (Criteria) this;
        }

        public Criteria andClnoNotLike(String value) {
            addCriterion("clno not like", value, "clno");
            return (Criteria) this;
        }

        public Criteria andClnoIn(List<String> values) {
            addCriterion("clno in", values, "clno");
            return (Criteria) this;
        }

        public Criteria andClnoNotIn(List<String> values) {
            addCriterion("clno not in", values, "clno");
            return (Criteria) this;
        }

        public Criteria andClnoBetween(String value1, String value2) {
            addCriterion("clno between", value1, value2, "clno");
            return (Criteria) this;
        }

        public Criteria andClnoNotBetween(String value1, String value2) {
            addCriterion("clno not between", value1, value2, "clno");
            return (Criteria) this;
        }

        public Criteria andPnoIsNull() {
            addCriterion("pno is null");
            return (Criteria) this;
        }

        public Criteria andPnoIsNotNull() {
            addCriterion("pno is not null");
            return (Criteria) this;
        }

        public Criteria andPnoEqualTo(String value) {
            addCriterion("pno =", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoNotEqualTo(String value) {
            addCriterion("pno <>", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoGreaterThan(String value) {
            addCriterion("pno >", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoGreaterThanOrEqualTo(String value) {
            addCriterion("pno >=", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoLessThan(String value) {
            addCriterion("pno <", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoLessThanOrEqualTo(String value) {
            addCriterion("pno <=", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoLike(String value) {
            addCriterion("pno like", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoNotLike(String value) {
            addCriterion("pno not like", value, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoIn(List<String> values) {
            addCriterion("pno in", values, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoNotIn(List<String> values) {
            addCriterion("pno not in", values, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoBetween(String value1, String value2) {
            addCriterion("pno between", value1, value2, "pno");
            return (Criteria) this;
        }

        public Criteria andPnoNotBetween(String value1, String value2) {
            addCriterion("pno not between", value1, value2, "pno");
            return (Criteria) this;
        }

        public Criteria andCimgIsNull() {
            addCriterion("cImg is null");
            return (Criteria) this;
        }

        public Criteria andCimgIsNotNull() {
            addCriterion("cImg is not null");
            return (Criteria) this;
        }

        public Criteria andCimgEqualTo(String value) {
            addCriterion("cImg =", value, "cimg");
            return (Criteria) this;
        }

        public Criteria andCimgNotEqualTo(String value) {
            addCriterion("cImg <>", value, "cimg");
            return (Criteria) this;
        }

        public Criteria andCimgGreaterThan(String value) {
            addCriterion("cImg >", value, "cimg");
            return (Criteria) this;
        }

        public Criteria andCimgGreaterThanOrEqualTo(String value) {
            addCriterion("cImg >=", value, "cimg");
            return (Criteria) this;
        }

        public Criteria andCimgLessThan(String value) {
            addCriterion("cImg <", value, "cimg");
            return (Criteria) this;
        }

        public Criteria andCimgLessThanOrEqualTo(String value) {
            addCriterion("cImg <=", value, "cimg");
            return (Criteria) this;
        }

        public Criteria andCimgLike(String value) {
            addCriterion("cImg like", value, "cimg");
            return (Criteria) this;
        }

        public Criteria andCimgNotLike(String value) {
            addCriterion("cImg not like", value, "cimg");
            return (Criteria) this;
        }

        public Criteria andCimgIn(List<String> values) {
            addCriterion("cImg in", values, "cimg");
            return (Criteria) this;
        }

        public Criteria andCimgNotIn(List<String> values) {
            addCriterion("cImg not in", values, "cimg");
            return (Criteria) this;
        }

        public Criteria andCimgBetween(String value1, String value2) {
            addCriterion("cImg between", value1, value2, "cimg");
            return (Criteria) this;
        }

        public Criteria andCimgNotBetween(String value1, String value2) {
            addCriterion("cImg not between", value1, value2, "cimg");
            return (Criteria) this;
        }

        public Criteria andCnameIsNull() {
            addCriterion("cName is null");
            return (Criteria) this;
        }

        public Criteria andCnameIsNotNull() {
            addCriterion("cName is not null");
            return (Criteria) this;
        }

        public Criteria andCnameEqualTo(String value) {
            addCriterion("cName =", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameNotEqualTo(String value) {
            addCriterion("cName <>", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameGreaterThan(String value) {
            addCriterion("cName >", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameGreaterThanOrEqualTo(String value) {
            addCriterion("cName >=", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameLessThan(String value) {
            addCriterion("cName <", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameLessThanOrEqualTo(String value) {
            addCriterion("cName <=", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameLike(String value) {
            addCriterion("cName like", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameNotLike(String value) {
            addCriterion("cName not like", value, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameIn(List<String> values) {
            addCriterion("cName in", values, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameNotIn(List<String> values) {
            addCriterion("cName not in", values, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameBetween(String value1, String value2) {
            addCriterion("cName between", value1, value2, "cname");
            return (Criteria) this;
        }

        public Criteria andCnameNotBetween(String value1, String value2) {
            addCriterion("cName not between", value1, value2, "cname");
            return (Criteria) this;
        }

        public Criteria andCsexIsNull() {
            addCriterion("cSex is null");
            return (Criteria) this;
        }

        public Criteria andCsexIsNotNull() {
            addCriterion("cSex is not null");
            return (Criteria) this;
        }

        public Criteria andCsexEqualTo(String value) {
            addCriterion("cSex =", value, "csex");
            return (Criteria) this;
        }

        public Criteria andCsexNotEqualTo(String value) {
            addCriterion("cSex <>", value, "csex");
            return (Criteria) this;
        }

        public Criteria andCsexGreaterThan(String value) {
            addCriterion("cSex >", value, "csex");
            return (Criteria) this;
        }

        public Criteria andCsexGreaterThanOrEqualTo(String value) {
            addCriterion("cSex >=", value, "csex");
            return (Criteria) this;
        }

        public Criteria andCsexLessThan(String value) {
            addCriterion("cSex <", value, "csex");
            return (Criteria) this;
        }

        public Criteria andCsexLessThanOrEqualTo(String value) {
            addCriterion("cSex <=", value, "csex");
            return (Criteria) this;
        }

        public Criteria andCsexLike(String value) {
            addCriterion("cSex like", value, "csex");
            return (Criteria) this;
        }

        public Criteria andCsexNotLike(String value) {
            addCriterion("cSex not like", value, "csex");
            return (Criteria) this;
        }

        public Criteria andCsexIn(List<String> values) {
            addCriterion("cSex in", values, "csex");
            return (Criteria) this;
        }

        public Criteria andCsexNotIn(List<String> values) {
            addCriterion("cSex not in", values, "csex");
            return (Criteria) this;
        }

        public Criteria andCsexBetween(String value1, String value2) {
            addCriterion("cSex between", value1, value2, "csex");
            return (Criteria) this;
        }

        public Criteria andCsexNotBetween(String value1, String value2) {
            addCriterion("cSex not between", value1, value2, "csex");
            return (Criteria) this;
        }

        public Criteria andCageIsNull() {
            addCriterion("cAge is null");
            return (Criteria) this;
        }

        public Criteria andCageIsNotNull() {
            addCriterion("cAge is not null");
            return (Criteria) this;
        }

        public Criteria andCageEqualTo(String value) {
            addCriterion("cAge =", value, "cage");
            return (Criteria) this;
        }

        public Criteria andCageNotEqualTo(String value) {
            addCriterion("cAge <>", value, "cage");
            return (Criteria) this;
        }

        public Criteria andCageGreaterThan(String value) {
            addCriterion("cAge >", value, "cage");
            return (Criteria) this;
        }

        public Criteria andCageGreaterThanOrEqualTo(String value) {
            addCriterion("cAge >=", value, "cage");
            return (Criteria) this;
        }

        public Criteria andCageLessThan(String value) {
            addCriterion("cAge <", value, "cage");
            return (Criteria) this;
        }

        public Criteria andCageLessThanOrEqualTo(String value) {
            addCriterion("cAge <=", value, "cage");
            return (Criteria) this;
        }

        public Criteria andCageLike(String value) {
            addCriterion("cAge like", value, "cage");
            return (Criteria) this;
        }

        public Criteria andCageNotLike(String value) {
            addCriterion("cAge not like", value, "cage");
            return (Criteria) this;
        }

        public Criteria andCageIn(List<String> values) {
            addCriterion("cAge in", values, "cage");
            return (Criteria) this;
        }

        public Criteria andCageNotIn(List<String> values) {
            addCriterion("cAge not in", values, "cage");
            return (Criteria) this;
        }

        public Criteria andCageBetween(String value1, String value2) {
            addCriterion("cAge between", value1, value2, "cage");
            return (Criteria) this;
        }

        public Criteria andCageNotBetween(String value1, String value2) {
            addCriterion("cAge not between", value1, value2, "cage");
            return (Criteria) this;
        }

        public Criteria andChobbyIsNull() {
            addCriterion("cHobby is null");
            return (Criteria) this;
        }

        public Criteria andChobbyIsNotNull() {
            addCriterion("cHobby is not null");
            return (Criteria) this;
        }

        public Criteria andChobbyEqualTo(String value) {
            addCriterion("cHobby =", value, "chobby");
            return (Criteria) this;
        }

        public Criteria andChobbyNotEqualTo(String value) {
            addCriterion("cHobby <>", value, "chobby");
            return (Criteria) this;
        }

        public Criteria andChobbyGreaterThan(String value) {
            addCriterion("cHobby >", value, "chobby");
            return (Criteria) this;
        }

        public Criteria andChobbyGreaterThanOrEqualTo(String value) {
            addCriterion("cHobby >=", value, "chobby");
            return (Criteria) this;
        }

        public Criteria andChobbyLessThan(String value) {
            addCriterion("cHobby <", value, "chobby");
            return (Criteria) this;
        }

        public Criteria andChobbyLessThanOrEqualTo(String value) {
            addCriterion("cHobby <=", value, "chobby");
            return (Criteria) this;
        }

        public Criteria andChobbyLike(String value) {
            addCriterion("cHobby like", value, "chobby");
            return (Criteria) this;
        }

        public Criteria andChobbyNotLike(String value) {
            addCriterion("cHobby not like", value, "chobby");
            return (Criteria) this;
        }

        public Criteria andChobbyIn(List<String> values) {
            addCriterion("cHobby in", values, "chobby");
            return (Criteria) this;
        }

        public Criteria andChobbyNotIn(List<String> values) {
            addCriterion("cHobby not in", values, "chobby");
            return (Criteria) this;
        }

        public Criteria andChobbyBetween(String value1, String value2) {
            addCriterion("cHobby between", value1, value2, "chobby");
            return (Criteria) this;
        }

        public Criteria andChobbyNotBetween(String value1, String value2) {
            addCriterion("cHobby not between", value1, value2, "chobby");
            return (Criteria) this;
        }

        public Criteria andCdescribeIsNull() {
            addCriterion("cDescribe is null");
            return (Criteria) this;
        }

        public Criteria andCdescribeIsNotNull() {
            addCriterion("cDescribe is not null");
            return (Criteria) this;
        }

        public Criteria andCdescribeEqualTo(String value) {
            addCriterion("cDescribe =", value, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCdescribeNotEqualTo(String value) {
            addCriterion("cDescribe <>", value, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCdescribeGreaterThan(String value) {
            addCriterion("cDescribe >", value, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCdescribeGreaterThanOrEqualTo(String value) {
            addCriterion("cDescribe >=", value, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCdescribeLessThan(String value) {
            addCriterion("cDescribe <", value, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCdescribeLessThanOrEqualTo(String value) {
            addCriterion("cDescribe <=", value, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCdescribeLike(String value) {
            addCriterion("cDescribe like", value, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCdescribeNotLike(String value) {
            addCriterion("cDescribe not like", value, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCdescribeIn(List<String> values) {
            addCriterion("cDescribe in", values, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCdescribeNotIn(List<String> values) {
            addCriterion("cDescribe not in", values, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCdescribeBetween(String value1, String value2) {
            addCriterion("cDescribe between", value1, value2, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCdescribeNotBetween(String value1, String value2) {
            addCriterion("cDescribe not between", value1, value2, "cdescribe");
            return (Criteria) this;
        }

        public Criteria andCstateIsNull() {
            addCriterion("cState is null");
            return (Criteria) this;
        }

        public Criteria andCstateIsNotNull() {
            addCriterion("cState is not null");
            return (Criteria) this;
        }

        public Criteria andCstateEqualTo(Integer value) {
            addCriterion("cState =", value, "cstate");
            return (Criteria) this;
        }

        public Criteria andCstateNotEqualTo(Integer value) {
            addCriterion("cState <>", value, "cstate");
            return (Criteria) this;
        }

        public Criteria andCstateGreaterThan(Integer value) {
            addCriterion("cState >", value, "cstate");
            return (Criteria) this;
        }

        public Criteria andCstateGreaterThanOrEqualTo(Integer value) {
            addCriterion("cState >=", value, "cstate");
            return (Criteria) this;
        }

        public Criteria andCstateLessThan(Integer value) {
            addCriterion("cState <", value, "cstate");
            return (Criteria) this;
        }

        public Criteria andCstateLessThanOrEqualTo(Integer value) {
            addCriterion("cState <=", value, "cstate");
            return (Criteria) this;
        }

        public Criteria andCstateIn(List<Integer> values) {
            addCriterion("cState in", values, "cstate");
            return (Criteria) this;
        }

        public Criteria andCstateNotIn(List<Integer> values) {
            addCriterion("cState not in", values, "cstate");
            return (Criteria) this;
        }

        public Criteria andCstateBetween(Integer value1, Integer value2) {
            addCriterion("cState between", value1, value2, "cstate");
            return (Criteria) this;
        }

        public Criteria andCstateNotBetween(Integer value1, Integer value2) {
            addCriterion("cState not between", value1, value2, "cstate");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}